Project Settings -> CLOUD MESSAGING -> Server key // https://console.firebase.google.com/u/0/project/iotnotification-c6ffe/settings/cloudmessaging/android:com.mygadgets2.iotalarm // My server key for MyFirstFirebase project on Firebase $server_key = "AAAAq05Z8aY:APA91bFb5XRAYaNAUG0RpsY18nrosAPozWuluTnvOMypTcu8_4uW0DsTES-pzmdNkrqAn4lhxDrc6P4K7n8bg22l1iPX3zCMmAZKyT3Cr724DgX4VHTKZmPrKc6_mABe19L4KTvqsJ3m"; // Do not need to use tokens anymore 2023/03/05 // Using subscription to topics instead // unique token for mobile device // change this for the mobile device you want to send message to // get this from running the app on the mobile device $token= // galaxy phone "enAlQXn1TM2NdKiXquGlWu:APA91bFdj4Z5tbOVIdGtXWvCcgb3I7MsQV45eUf9U-7ZRACWua9oaZqj8wKXXMC4P88VoyPBmru2ufi3c-RabmBozVQQhyX5Iett1A0i7Lj_XjVNu3CgmvOooGIPsuHIC9wk86ThfUul"; // tablet SM-T710 //"fN3K_hjoTmC4CschbTo4ja:APA91bGaDS799cl5LAfGzHkdtlcNCAP7hy1Xe8gOgkBUMsDvoZ52rS3wayBJVxVIG9XO3MDtkqqJDyJUPBm8scfv7OlOfkThg9y-KSQffkM_ihKtz5VR21vIXZtZ0YgGVXrMPMDJNSbU"; sendPushNotification($title, $message, $token, $server_key); ////////////////////////////////////////////////////////// function sendPushNotification($title, $message, $token, $server_key) { echo "Sending\r\n
"; echo " Title = " . $title . "\r\n
"; echo " Message = " . $message . "\r\n
"; echo " Token = " . $token . "\r\n
"; echo " Server key = " . $server_key . "\r\n
"; //Firebase HTTP API URL $path_to_fcm = 'https://fcm.googleapis.com/fcm/send'; $fields = array ( // 'to' => $token, // send to one device with this token id 'to' => '/topics/alarms', // send to all subscribed to the topic "alarms" // 'notification' => array ('title'=>$title,'body'=>$message), // for sending notification payload 'data' => array ('title'=>$title,'body'=>$message), // for sending data payload 'android_channel_id' => 'Alarm default channel', // need to match in pushNotification method in MyFirebaseMessagingService.java file 'priority' => 'high' ); $headers = array ( 'Authorization:key=' . $server_key, 'Content-Type:application/json' ); $payload = json_encode($fields); $curl_session = curl_init(); // need to install php-curl package if you do not see the following echo message echo "after curl init\r\n
"; curl_setopt($curl_session, CURLOPT_URL, $path_to_fcm); curl_setopt($curl_session, CURLOPT_POST, true); curl_setopt($curl_session, CURLOPT_HTTPHEADER, $headers); curl_setopt($curl_session, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl_session, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($curl_session, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl_session, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4); curl_setopt($curl_session, CURLOPT_POSTFIELDS, $payload); $result = curl_exec($curl_session); if ($result === FALSE) { die('FCM Send Error: ' . curl_error($curl_session)); } curl_close($curl_session); echo "\r\n
curl send successful \r\n
"; } // end of function ?>